library(tidyverse)
## ── Attaching packages ─────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.0 ✓ purrr 0.3.4
## ✓ tibble 3.0.1 ✓ dplyr 0.8.5
## ✓ tidyr 1.0.3 ✓ stringr 1.4.0
## ✓ readr 1.3.1 ✓ forcats 0.5.0
## ── Conflicts ────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
theme_set(theme_light())
tuesdata <- tidytuesdayR::tt_load('2020-05-12')
## --- Downloading #TidyTuesday Information for 2020-05-12 ----
## --- Identified 5 files available for download ----
## --- Downloading files ---
## --- Download complete ---
volcano <- tuesdata$volcano %>%
mutate(last_eruption_year = as.numeric(last_eruption_year))
## Warning: NAs introduced by coercion
# View(volcano)
volcano %>%
count(evidence_category, sort = TRUE)
## # A tibble: 5 x 2
## evidence_category n
## <chr> <int>
## 1 Eruption Observed 428
## 2 Eruption Dated 226
## 3 Evidence Credible 193
## 4 Evidence Uncertain 84
## 5 Unrest / Holocene 27
volcano %>%
#mutate(last_eruption_year = as.numeric(last_eruption_year)) %>%
ggplot(aes(last_eruption_year, fill = evidence_category)) +
geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 301 rows containing non-finite values (stat_bin).

volcano %>%
mutate(years_ago = 2020 - last_eruption_year) %>%
ggplot(aes(years_ago +1, fill = evidence_category)) +
geom_histogram() +
scale_x_log10()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 301 rows containing non-finite values (stat_bin).

# here was a parenthesis
volcano %>%
filter(evidence_category == "Eruption Observed") %>%
arrange(last_eruption_year) %>%
select(last_eruption_year, volcano_name, country)#%>% View()
## # A tibble: 428 x 3
## last_eruption_year volcano_name country
## <dbl> <chr> <chr>
## 1 -1320 Yucamane Peru
## 2 -258 Methana Greece
## 3 -104 Vulsini Italy
## 4 500 Arhab, Harra of Yemen
## 5 650 Khaybar, Harrat Saudi Arabia
## 6 837 Naruko Japan
## 7 838 Kozushima Japan
## 8 867 Yufu-Tsurumi Japan
## 9 885 Ata Japan
## 10 886 Niijima Japan
## # … with 418 more rows
# here was a parenthesis
eruptions <- tuesdata$eruptions
eruptions %>%
mutate(years_ago = 2020 - start_year) %>%
ggplot(aes(years_ago +1, fill = eruption_category)) +
geom_histogram() +
scale_x_log10()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 1 rows containing non-finite values (stat_bin).

volcano %>% count(region, sort=TRUE)
## # A tibble: 19 x 2
## region n
## <chr> <int>
## 1 South America 117
## 2 Japan, Taiwan, Marianas 102
## 3 Indonesia 95
## 4 México and Central America 93
## 5 Africa and Red Sea 79
## 6 Kamchatka and Mainland Asia 78
## 7 Canada and Western USA 60
## 8 Melanesia and Australia 45
## 9 Alaska 38
## 10 Mediterranean and Western Asia 35
## 11 Philippines and SE Asia 33
## 12 Iceland and Arctic Ocean 29
## 13 New Zealand to Fiji 29
## 14 Middle East and Indian Ocean 27
## 15 Antarctica 25
## 16 Kuril Islands 25
## 17 Atlantic Ocean 21
## 18 West Indies 16
## 19 Hawaii and Pacific Ocean 11
volcano %>% count(primary_volcano_type, sort = TRUE)
## # A tibble: 26 x 2
## primary_volcano_type n
## <chr> <int>
## 1 Stratovolcano 353
## 2 Stratovolcano(es) 107
## 3 Shield 85
## 4 Volcanic field 71
## 5 Pyroclastic cone(s) 70
## 6 Caldera 65
## 7 Complex 46
## 8 Shield(s) 33
## 9 Submarine 27
## 10 Lava dome(s) 26
## # … with 16 more rows
library(ggthemes)
volcano %>%
ggplot(aes(longitude, latitude)) +
geom_point() +
borders() +
theme_map()

volcano %>%
mutate(primary_volcano_type = fct_lump(primary_volcano_type, 8)) %>%
ggplot(aes(longitude, latitude)) +
borders() +
geom_point(aes(color = primary_volcano_type)) +
theme_map()

# here we remove the plurals in the categories in the previous plot, change the total category to 6, set the size of the point, labelled the graph
volcano %>%
mutate(primary_volcano_type = str_remove(primary_volcano_type, "\\(.*\\)"),
primary_volcano_type = fct_lump(primary_volcano_type, 6)) %>%
ggplot(aes(longitude, latitude)) +
borders() +
geom_point(aes(color = primary_volcano_type), size = .5) +
theme_map() +
labs(title = "Volcanoes of the World", color = "Type")

library(leaflet) # To make the above graph interactive
leaflet(volcano) %>%
addTiles() %>%
addCircles(lat = ~latitude, lng = ~longitude)
leaflet(volcano) %>%
addTiles() %>%
addCircleMarkers(lat = ~ latitude,
lng = ~ longitude,
popup = ~ volcano_name)
library(glue)
##
## Attaching package: 'glue'
## The following object is masked from 'package:dplyr':
##
## collapse
template <- "<p>{ volcano_name }</p><p>{ primary_volcano_type }</p>"
volcano_html <- volcano %>%
select(volcano_name, latitude, longitude, primary_volcano_type, region) %>%
mutate(html = glue(template),
primary_volcano_type = str_remove(primary_volcano_type, "\\(.*\\)"))
volcano_html %>%
filter(region == "South America") %>%
leaflet() %>%
addTiles() %>%
addCircleMarkers(lat = ~ latitude,
lng = ~ longitude,
popup = ~ html)
library(DT)
template <- "<p>{ volcano_name }</p><p>{ primary_volcano_type }</p>"
#volcano_html <- volcano %>%
volcano %>%
filter(region == "South America") %>%
gather(key, value, volcano_name, primary_volcano_type, last_eruption_year) %>%
nest(data = c(key, value)) %>%
mutate(html = map(data, datatable)) %>%
pull(html) %>%
pluck(1)
library(DT)
volcano %>%
filter(region == "South America") %>%
gather(key, value, volcano_name, primary_volcano_type, last_eruption_year) %>%
mutate(key = str_to_title(str_replace_all(key, "_", " "))) %>%
nest(data = c(key, value)) %>%
mutate(html = map(data, datatable, rownames = FALSE, colnames = c("", ""))) %>%
pull(html) %>%
pluck(1)
library(DT)
volcano %>%
filter(region == "South America") %>%
mutate(primary_volcano_type = str_remove(primary_volcano_type, "\\(.*\\)")) %>%
gather(key, value, volcano_name, primary_volcano_type, last_eruption_year) %>%
mutate(key = str_to_title(str_replace_all(key, "_", " ")),
key = paste0("<b>", key, "</b>")) %>%
replace_na(list(value = "Unknown")) %>%
nest(data = c(key, value)) %>%
mutate(html = map(data,
knitr::kable,
format = "html",
escape = FALSE,
col.names = c("",""))) %>%
leaflet() %>%
addTiles() %>%
addCircleMarkers(lat = ~ latitude,
lng = ~ longitude,
popup = ~ html)
volcano %>%
#filter(region == "South America") %>%
mutate(primary_volcano_type = str_remove(primary_volcano_type, "\\(.*\\)")) %>%
gather(key, value,
volcano_name,
primary_volcano_type,
last_eruption_year,
country,
tectonic_settings,
population_within_5_km) %>%
mutate(key = str_to_title(str_replace_all(key, "_", " ")),
key = paste0("<b>", key, "</b>")) %>%
replace_na(list(value = "Unknown")) %>%
nest(data = c(key, value)) %>%
mutate(html = map(data,
knitr::kable,
format = "html",
escape = FALSE,
col.names = c("",""))) %>%
leaflet() %>%
addTiles() %>%
addCircleMarkers(lat = ~ latitude,
lng = ~ longitude,
popup = ~ html) %>%
addMeasure()
volcano %>%
mutate(primary_volcano_type = str_remove(primary_volcano_type, "\\(.*\\)"),
transformed_pop = log2(population_within_5_km + 1),
pop_color = colorNumeric(c("blue", "red"), transformed_pop)(transformed_pop)) %>%
gather(key, value,
volcano_name,
primary_volcano_type,
last_eruption_year,
country,
tectonic_settings,
population_within_5_km) %>%
mutate(key = str_to_title(str_replace_all(key, "_", " ")),
key = paste0("<b>", key, "</b>")) %>%
replace_na(list(value = "Unknown")) %>%
nest(data = c(key, value)) %>%
mutate(html = map(data,
knitr::kable,
format = "html",
escape = FALSE,
col.names = c("",""))) %>%
leaflet() %>%
addTiles() %>%
addCircleMarkers(lat = ~ latitude,
lng = ~ longitude,
color = ~ pop_color,
popup = ~ html,
radius = 1) %>%
addMeasure()
eruptions %>%
ggplot(aes(2020 - start_year)) +
geom_histogram() +
scale_x_log10()
## Warning: Transformation introduced infinite values in continuous x-axis
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 8 rows containing non-finite values (stat_bin).

eruptions %>%
filter(start_year >= 1900) %>%
mutate(volume = .00001*10^vei) %>%
ggplot(aes(longitude, latitude)) +
borders() +
geom_point(aes(size = volume,
color = volume)) +
theme_map() +
scale_color_gradient2(low = "blue", high = "red",
midpoint = log10(.01),
guide = FALSE) +
scale_size_continuous(range = c(.1, 6)) +
labs(title = "Eruptions Since 1900",
size = "km^3")
## Warning: Removed 311 rows containing missing values (geom_point).

library(gganimate)
animated_graph <- eruptions %>%
filter(start_year >= 1900) %>%
mutate(volume = .00001*10^vei) %>%
ggplot(aes(longitude, latitude)) +
borders() +
geom_point(aes(size = volume,
color = volume)) +
theme_map() +
scale_color_gradient2(low = "blue", high = "red",
midpoint = log10(.01),
trans = "log10",
guide = FALSE) +
scale_size_continuous(range = c(1, 6)) +
transition_time(start_year) +
labs(title = "Eruptions Year { round(frame_time) }",
size = "km^3") +
theme(legend.position = "none")
animate(animated_graph, 150, fps = 4)
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 9 rows containing missing values (geom_point).
## Warning: Removed 5 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 5 rows containing missing values (geom_point).
## Warning: Removed 8 rows containing missing values (geom_point).
## Warning: Removed 7 rows containing missing values (geom_point).
## Warning: Removed 5 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 7 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 5 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 6 rows containing missing values (geom_point).
## Warning: Removed 6 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 7 rows containing missing values (geom_point).
## Warning: Removed 6 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 7 rows containing missing values (geom_point).
## Warning: Removed 10 rows containing missing values (geom_point).
## Warning: Removed 6 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 6 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 6 rows containing missing values (geom_point).
## Warning: Removed 6 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 6 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 6 rows containing missing values (geom_point).
## Warning: Removed 10 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 5 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 5 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 6 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 6 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 3 rows containing missing values (geom_point).
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: Removed 1 rows containing missing values (geom_point).
## Warning: Removed 24 rows containing missing values (geom_point).
## Warning: Removed 7 rows containing missing values (geom_point).

anim_save("eruptions.gif")